//一般直接写在一个js文件中
layui.define(function(exports){
  //do something
  	var admin = layui.admin
  	,$ = layui.$
  	,$body = $('body')
  	,view = layui.view
  	,Cesium = layui.Cesium
  	,mapObj = {}
  	,extEvents = {
    	wifi : function(){
    		var btnName = $(this).find('p').text()
    		var othis = $(this)
	    	admin.popupLeft({
			    // id: 'LAY_adminPopupLeft'
			    title:btnName
			    // ,shade: 0
			    // ,closeBtn: true
			    // ,area:  ['500px','100%']
			    // ,skin:'layui-layer-lan'

			    ,success: function(layero, index){
			    	// this.end.call(this)
			    	// othis.data("aid",index)
			    	othis.attr('data-aid',index)
			    	// console.log(44,othis.data("index"));
			    	view(this.id).render('system/wifi')
			    }

			});
	    }
	    ,camera: function(){
	    	var othis = $(this)
	      	var btnName = $(this).find('p').text()
	    	admin.popupLeft({
			    // id: 'LAY_adminPopupLeft2'
			    title:btnName
			    ,success: function(layero, index){
			    	othis.attr('data-aid',index)
			    	// view(this.id).render('system/theme')
			    }
			});
	    }
	    ,popGrid:function(){
	    	layui.mapObj.render('tpl/grid.html',function(html){
				layer.open({
				  type: 1,
				  title: '选择网格',
				  shadeClose: true,
				  shade: 0,
				  area: ['50%', '60%'],
				  content: html
				});
			});
			
		}
		,toggleLeft:function(){
			var state =$(this).attr('data-state')
			,othis = $(this)
			,pgis_app =  $('#pgis_app')
			console.log(state)
			if(state>0){
			  	othis.attr('data-state',0).html('&#xe9bf;') ;
		  		pgis_app.addClass('menuClose').removeClass('menuOpen');
			}else{
				othis.attr('data-state',1).html('&#xe9be;');
			  	pgis_app.addClass('menuOpen').removeClass('menuClose');
				
			}  
		}
		,setBg:function(){
			$(this).siblings().removeClass('hov').end().addClass('hov');
		}
		,common:function(){
			layui.mapObj.render('tpl/cygn.html',function(html){
				$('#common').html( html );
			});
		}	
		,search:function(){
			layui.mapObj.render('tpl/leftMenu2.html',function(html){
				$('#common').html( html );
			});
		}
		,maptool:function(){
			layui.mapObj.render('tpl/leftMenu2.html',function(html){
				$('#common').html( html );
			});
		}
		,basemap:function(){
			layui.mapObj.render('tpl/leftMenu2.html',function(html){
				$('#common').html( html );
			});
		}
    } 
   	layui.mapObj = {}
	layui.mapObj.events = extEvents

	var events = layui.mapObj.events
	layui.mapObj.render = function(views,callback){
		$.ajax({
			url: views
			,type: 'get'
			,dataType: 'html'
			,success: function(html){
				callback(html);
			}
		})
	}
	// 绑定页面上所有zkmap-event的事件
	$body.on('click', '*[zkmap-event]', function(){
      var othis = $(this)
      ,attrEvent = othis.attr('zkmap-event');
      
      	events[attrEvent] && events[attrEvent].call(this, othis);
      	layui.mapObj.events.setBg.call(this)
      	// othis.addClass('hov')
      
    });    

	// var viewer = new Cesium.Viewer('allmap1', {
 //        infoBox: false//禁止弹出信息窗口
 //    });

 //  var scene = viewer.scene;
 //  try {
 //        var promise1 = scene.addS3MTilesLayerByScp("http://zszhongkai.3322.org:9011/iserver/services/3D-hezhouPolice/rest/realspace/datas/floor@data/config", {
 //            name: 'floor_vector',
 //        });
 //        var promise2 = scene.addS3MTilesLayerByScp("http://zszhongkai.3322.org:9011/iserver/services/3D-hezhouPolice/rest/realspace/datas/hz_44/config", {
 //            name: 'hz_44'
 //        });

 //        var promiseArr = [promise1, promise2];

 //        promise1.then(function(layer){
 //            layer.cullEnabled =false;
 //            layer._bReleaseColor = true;
 //            layer.style3D._fillForeColor.alpha = 0;
 //            layer.selectColorType = 1.0;
 //            layer.selectedColor = Cesium.Color.RED;
 //            layer.selectedColor.alpha = 0.2;

 //            layer.setQueryParameter({
 //                url: CONFIG.QUERY_URL,
 //                dataSourceName: CONFIG.QUERY_DATA_SOURCE_NAME,
 //                dataSetName: CONFIG.QUERY_DATA_SET_NAME,
 //                keyWord: CONFIG.QUERY_PRIMARY_KEY
 //            });

 //            //设置后需刷新图层
 //            layer.refresh();

 //        });

 //        promise2.then(function(layer){
 //            layer.selectEnabled = false;
 //        });

 //        setDefaultView();

 //        //设置相机默认视角，正上方
 //        function setDefaultView() {
 //            scene.camera.setView({
 //                //将经度、纬度、高度的坐标转换为笛卡尔坐标
 //                destination: Cesium.Cartesian3.fromDegrees(111.543916597217, 24.423456038890723, 2005.089604955167)
 //            });
 //        }



 //        Cesium.when.all(promiseArr, function (layers) {
 //            viewer.pickEvent.addEventListener(pick);

 //            function pick(feature) {
 //                console.log(feature);
 //                let objsColor = scene.layers.find("floor_vector").getObjsColor();
 //                console.log(objsColor);

 //            }

 //        }, function () {
 //            var title = '加载SCP失败，请检查网络连接状态或者url地址是否正确？';
 //            widget.showErrorPanel(title, undefined, e);
 //        });
 //    } catch (e) {
 //        if (widget._showRenderLoopErrors) {
 //            var title = '渲染时发生错误，已停止渲染。';
 //            widget.showErrorPanel(title, undefined, e);
 //        }
 //    }

 //    //获取点击位置坐标和地址
 //    !function initAddressListener() {
 //        var addressHandler = new Cesium.ScreenSpaceEventHandler(scene.canvas);
 //        // DrawTool.init(viewer);
 //        addressHandler.setInputAction(function (e) {
 //            // 获取点击位置笛卡尔坐标
 //            var position = scene.pickPosition(e.position);
 //            // 将笛卡尔坐标转化为经纬度坐标
 //            var cartographic = Cesium.Cartographic.fromCartesian(position);
 //            var longitude = Cesium.Math.toDegrees(cartographic.longitude);
 //            var latitude = Cesium.Math.toDegrees(cartographic.latitude);
 //            console.log("lng:" + longitude , "lat:" + latitude);
 //            addIconEntity(position);
 //        }, Cesium.ScreenSpaceEventType.LEFT_CLICK);
 //    }();


 //    var s3mInstanceColc = new Cesium.S3MInstanceCollection(scene._context);
 //    scene.primitives.add(s3mInstanceColc);
 //    function addIconEntity(position, option) {

 //        s3mInstanceColc.add("ZKModel.s3m",{
 //            position : position,
 //            hpr : new Cesium.HeadingPitchRoll(0,0,0),
 //            scale : new Cesium.Cartesian3(1,1,1),
 //            color : Cesium.Color.WHITE
 //        });

 //    }

 //    var layers = scene.imageryLayers;
 //    //加载天地图底图
 //    layers.addImageryProvider(new Cesium.WebMapTileServiceImageryProvider({
 //        url: "http://t0.tianditu.com/vec_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=vec&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles",
 //        layer: "tdtVecBasicLayer",
 //        style: "default",
 //        format: "image/jpeg",
 //        tileMatrixSetID: "GoogleMapsCompatible",
 //        show: false
 //    }));
 //    //加载天地图底图
 //    layers.addImageryProvider(new Cesium.WebMapTileServiceImageryProvider({
 //        url: "http://t0.tianditu.com/cva_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=cva&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default.jpg",
 //        layer: "tdtAnnoLayer",
 //        style: "default",
 //        format: "image/jpeg",
 //        tileMatrixSetID: "GoogleMapsCompatible"
 //    }));
    // 初始化左侧菜单
    layui.mapObj.events.common()
	exports('zkMap', mapObj);
});